OpenStack is an open-source project initiative for providing software for the creation and management of public and private clouds, and includes storage, mirroring, network and other components. Neutron is the core component in OpenStack for managing virtual networks.
In current Neutron implementations, a virtual network communication link is established by means of cooperation between Neutron components and configured in advance after creation. After a creation request is sent to nova-api, the creation request is first scheduled to a computing node according to resource requirements, and then nova-compute on the computing node creates a virtual machine instance and a virtual network device according to the received request. After the virtual network device is created, Neutron can automatically detect the created virtual network device, and then establish a virtual network link according to information such as an information configuration dhcp and security group of the virtual network device.
According to current Neutron implementation methods, in a complete creation process for a virtual machine, a Neutron server needs to notify each agent of the change of the network state. However, the current Neutron implementation methods rely heavily on message queues, causing a great burden to the database; and lack a retry mechanism for the above-mentioned notification, failing to automatically repair the virtual network in the case of message loss or network interruption, and leading to the problem that the virtual machine cannot acquire the IP address or access an external network.
Therefore, to ensure a Service-Level Agreement (SLA), it is necessary to further the research on virtual network communications having an automatic repair function.